error handling    : perror, strerror
  memory allocation : malloc, calloc, realloc, free
  argument handling : getopt

   ex1_1 : errno
   ex1_2 : errno